/**
  @file     	Profession.h 
  @brief    	all kinds of Profession
  @author  	arvin
  @version 	1.0   2012/12/13
 */

#include "stdafx.h"

#ifndef CXX_PROFESSION_H
#include "Profession.h"
#endif

/**
* Construction
*
* @param VOID
* @return 
*/
Profession::Profession(PROFESSION_TYPE eProfession) :
	m_eProfession(eProfession)
{
	DEBUG_PRINTF("m_eProfession[%d], Profession[%s]", m_eProfession, STATIC_CONST_STRING_PROFESSION[m_eProfession].c_str());
}

/**
* Destruction
*
* @param VOID
* @return 
*/
Profession::~Profession()
{
	DEBUG_PRINTF("m_eProfession[%d], Profession[%s]", m_eProfession, STATIC_CONST_STRING_PROFESSION[m_eProfession].c_str());
}

/**
* Operation
*
* @param PROFESSION_TYPE eProfession
* @return
*/
VOID 
Profession::SetProfession(PROFESSION_TYPE eProfession)
{
	DEBUG_PRINTF("m_eProfession[%d], Profession[%s]", m_eProfession, STATIC_CONST_STRING_PROFESSION[m_eProfession].c_str());
	m_eProfession = eProfession;
}

/**
* Operation
*
* @param VOID
* @return PROFESSION_TYPE
*/
PROFESSION_TYPE
Profession::GetProfession()
{
	DEBUG_PRINTF("m_eProfession[%d], Profession[%s]", m_eProfession, STATIC_CONST_STRING_PROFESSION[m_eProfession].c_str());
	return m_eProfession;
}

/**
* Operation
*
* @param VOID
* @return 
*/
VOID 
Profession::Operation()
{
	DEBUG_PRINTF("m_eProfession[%d], Profession[%s]", m_eProfession, STATIC_CONST_STRING_PROFESSION[m_eProfession].c_str());
}

/**
* Construction
*
* @param VOID
* @return 
*/
Warrior::Warrior() :
	Profession(PROFESSION_WARRIOR)
{
	DEBUG_PRINTF("");
}

/**
* Destruction
*
* @param VOID
* @return 
*/
Warrior::~Warrior()
{
	DEBUG_PRINTF("");
}

/**
* Operation
*
* @param VOID
* @return 
*/
VOID 
Warrior::Operation()
{
	DEBUG_PRINTF("");
	Profession::Operation();
}


/**
* Construction
*
* @param VOID
* @return 
*/
Master::Master() :
	Profession(PROFESSION_MASTER)
{
	DEBUG_PRINTF("");
}

/**
* Destruction
*
* @param VOID
* @return 
*/
Master::~Master()
{
	DEBUG_PRINTF("");
}

/**
* Operation
*
* @param VOID
* @return 
*/
VOID 
Master::Operation()
{
	DEBUG_PRINTF("");
	Profession::Operation();
}

/**
* Construction
*
* @param VOID
* @return
*/
Priest::Priest() :
	Profession(PROFESSION_PRIEST)
{
	DEBUG_PRINTF("");
}

/**
* Destruction
*
* @param VOID
* @return
*/
Priest::~Priest()
{
	DEBUG_PRINTF("");
}

/**
* Operation
*
* @param VOID
* @return
*/
VOID
Priest::Operation()
{
	DEBUG_PRINTF("");
	Profession::Operation();
}

/* EOF */